Complex software applications and services are frequently made available to users over computer networks, such as the Internet. For example, software applications used to prepare and file income tax returns are frequently offered as an online service. In addition to generating tax return documents, these online services typically guide a user through a collection of complex interactive workflows in order to prepare a complete, valid income tax return.
Other online services allow users to access software applications used to prepare a variety of other legal and formal documents. For example, online services are available which direct a user through a guided interaction to generate estate planning documents, corporate entity documents, legal filings, etc. Still other complex software applications accessed as an online service include financial service applications which allow users to complete mortgage applications or apply for home, life, or automobile insurance. Further, some online services include voice recognition software that can process users' voice/speech. For example, users can interact with the online service with voice/speech to initiate services or processes in the online service, navigate application content provided by the online service, etc.
In addition to these transactional online services, a variety of complex software tools offer users access to both online services and local client applications, e.g., financial accounting software, video editing or media composition software, software development tools, etc. Such applications may allow users to access application features and user data stored online, regardless of whether the application is installed locally by an end user or accessed as an online service. Once customer data is stored by a service provider, end users can access their data using a variety of clients, including a web browser used to access a software application as a series of web pages, dedicated “thin” client applications, and so-called “apps” accessed using a mobile telephone or computing tablet.
Further, some online services include assisted support software that allows users to request help from the online service. Such assisted support can be automated including, for example, an automated software agent that can perform tasks or services for users (e.g., such as searching application content, responding (with automated voice/speech) to users' questions, etc.). In addition, such assisted support provides users with the option to interact with “live” customer support agents. For example, support agents can assist users in accomplishing a given task (e.g., guiding users through a tax preparation workflow provided by the service), explain a given feature, troubleshoot problems encountered by the user, and the like. Further, the assisted support software can provide screen sharing support for users. For example, agents can use screen sharing to control users' devices and application content provided by the online service. For popular application and services, the interaction between support agents and users can represent a large part of the overall customer experience provided to users.